package com.ccb.sc.common.modules.setting.vo;

import com.ccb.sc.common.bind.annotation.Mapping;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * @author ken
 * @version 1.0
 * @date 2020-09-21
 */
@ApiModel
public class OrderSettingsVo implements Serializable {

    @ApiModelProperty("支付超时时间（小时）")
    @NotNull
    @Mapping(value = "order.pay.timeout")
    private Integer payTimeout;

    @ApiModelProperty("确认收货超时时间（天）")
    @NotNull
    @Mapping(value = "order.receive.timeout")
    private Integer receiveTimeout;

    @ApiModelProperty("售后超时时间（天）")
    @NotNull
    @Mapping(value = "order.aftersale.days")
    private Integer afterSaleDays;

    @ApiModelProperty("评价超时时间（天）")
    @NotNull
    @Mapping(value = "order.review.days")
    private Integer reviewTimeout;

    @ApiModelProperty("退换货说明")
    @NotNull
    @Mapping(value = "order.after-sale.instruction")
    private String afterSaleInstruction;

    @ApiModelProperty("退换货地址")
    @NotNull
    @Mapping(value = "order.after-sale.address")
    private String afterSaleAddress;

    @ApiModelProperty("退换联系人")
    @NotNull
    @Mapping(value = "order.after-sale.consignee")
    private String afterSaleConsignee;

    @ApiModelProperty("联系电话")
    @NotNull
    @Mapping(value = "order.after-sale.phone")
    private String afterSalePhone;

    @ApiModelProperty("直播订单金额转换积分amount=1分")
    @NotNull
    @Mapping(value = "order.exchange.amount")
    private BigDecimal exchangeAmount;

    @ApiModelProperty("积分1分=抵扣金额")
    @NotNull
    @Mapping(value = "order.points.amount")
    private BigDecimal pointsExchangeAmount;

    @ApiModelProperty("商城订单金额转换积分amount=1分")
    @NotNull
    @Mapping(value = "order.exchange.points")
    private BigDecimal amountExchangePoints;

    @ApiModelProperty("团长佣金比例")
    @NotNull
    @Mapping(value = "order.heads.ratio")
    private BigDecimal headsRatio;

    public Integer getPayTimeout() {
        return payTimeout;
    }

    public void setPayTimeout(Integer payTimeout) {
        this.payTimeout = payTimeout;
    }

    public Integer getReceiveTimeout() {
        return receiveTimeout;
    }

    public void setReceiveTimeout(Integer receiveTimeout) {
        this.receiveTimeout = receiveTimeout;
    }

    public Integer getAfterSaleDays() {
        return afterSaleDays;
    }

    public void setAfterSaleDays(Integer afterSaleDays) {
        this.afterSaleDays = afterSaleDays;
    }

    public Integer getReviewTimeout() {
        return reviewTimeout;
    }

    public void setReviewTimeout(Integer reviewTimeout) {
        this.reviewTimeout = reviewTimeout;
    }

    public String getAfterSaleInstruction() {
        return afterSaleInstruction;
    }

    public void setAfterSaleInstruction(String afterSaleInstruction) {
        this.afterSaleInstruction = afterSaleInstruction;
    }

    public String getAfterSaleAddress() {
        return afterSaleAddress;
    }

    public void setAfterSaleAddress(String afterSaleAddress) {
        this.afterSaleAddress = afterSaleAddress;
    }

    public String getAfterSaleConsignee() {
        return afterSaleConsignee;
    }

    public void setAfterSaleConsignee(String afterSaleConsignee) {
        this.afterSaleConsignee = afterSaleConsignee;
    }

    public String getAfterSalePhone() {
        return afterSalePhone;
    }

    public void setAfterSalePhone(String afterSalePhone) {
        this.afterSalePhone = afterSalePhone;
    }

    public BigDecimal getExchangeAmount() {
        return exchangeAmount;
    }

    public void setExchangeAmount(BigDecimal exchangeAmount) {
        this.exchangeAmount = exchangeAmount;
    }

    public BigDecimal getPointsExchangeAmount() {
        return pointsExchangeAmount;
    }

    public void setPointsExchangeAmount(BigDecimal pointsExchangeAmount) {
        this.pointsExchangeAmount = pointsExchangeAmount;
    }

    public BigDecimal getAmountExchangePoints() {
        return amountExchangePoints;
    }

    public void setAmountExchangePoints(BigDecimal amountExchangePoints) {
        this.amountExchangePoints = amountExchangePoints;
    }

    public BigDecimal getHeadsRatio() {
        return headsRatio;
    }

    public void setHeadsRatio(BigDecimal headsRatio) {
        this.headsRatio = headsRatio;
    }
}
